//---------------------------------------------------------------------------------------
//	Arquivo validacao.php: Contem as funcoes de validacao dos formularios utilizados no
// 	modulo Fotos.
//	Autor: Gabriel Cysne (gcysne@gmail.com)
//	Data: 10/01/2008
//---------------------------------------------------------------------------------------

//---------------------------------------------------------------------------------------
// Funcao fotos_validaFormAlbum(): Verifica se os campos não estão vazios e se o campo de
// data possui uma formatacao correta. Caso tudo esteja ok, retorna true. Caso contrario,
// preenche a tabela de erros encontrados e retorna false.
//---------------------------------------------------------------------------------------
function fotos_validaFormAlbum(){
	
	var tabelaErros = document.getElementById("tabelaErros");
	// Limpa a tabela de erros
	var numErros = tabelaErros.rows.length;
	if(numErros > 0){
		for(var i=0; i<numErros; i++){
			tabelaErros.deleteRow(0);	
		}
	}
	
	// Verifica o campo do nome
	var nome = document.getElementById("nome");
	if(nome.value.length == 0){
		var novaLinha = tabelaErros.insertRow(0);					
		var novaCelula = novaLinha.insertCell(0);
		novaCelula.innerHTML = ">> O campo \"nome\" não pode ser vazio.";
	}
	
	// Verifica o campo da data. Deve conter o formato (DD/MM/AAAA)
	var data = document.getElementById("data");
	if(data.value.length == 0){
		var novaLinha = tabelaErros.insertRow(0);					
		var novaCelula = novaLinha.insertCell(0);
		novaCelula.innerHTML = ">> O campo \"data\" não pode ser vazio.";
	}else{
		if((data.value.charAt(2) != "/") || (data.value.charAt(5) != "/")){
		var novaLinha = tabelaErros.insertRow(0);					
		var novaCelula = novaLinha.insertCell(0);
		novaCelula.innerHTML = ">> O campo \"data\" deve estar no formato DD/MM/AAAA.";	
		}else{
			// Verifica se o dia nao ultrapassa 31
			var dia = data.value.substring(0,2);
			if(dia>31 || dia<0){
				var novaLinha = tabelaErros.insertRow(0);					
				var novaCelula = novaLinha.insertCell(0);
				novaCelula.innerHTML = ">> O campo \"data\" possui um dia inválido.";	
			}
			// Verifica se o mes nao ultrapassa 12
			var mes = data.value.substring(3,5);			
			if(mes>12 || mes<0){
				var novaLinha = tabelaErros.insertRow(0);					
				var novaCelula = novaLinha.insertCell(0);
				novaCelula.innerHTML = ">> O campo \"data\" possui um mês inválido.";	
			}
			// Verifica se o ano e o atual
			var ano = data.value.substring(6,10);
			var dataAtual = new Date();
			anoAtual = dataAtual.getFullYear(); 
			if(ano != anoAtual){
				var novaLinha = tabelaErros.insertRow(0);					
				var novaCelula = novaLinha.insertCell(0);
				novaCelula.innerHTML = ">> O campo \"data\" possui um ano inválido.";	
			}			
		}
	}
		
	// Se nao houver nenhum erro retorna true
	if(tabelaErros.rows.length > 0) {
		var novaLinha = tabelaErros.insertRow(0);					
		var novaCelula = novaLinha.insertCell(0);
		novaCelula.innerHTML = "Erros encontrados:";		
		return false;
	}else{
		var novaLinha = tabelaErros.insertRow(0);					
		var novaCelula = novaLinha.insertCell(0);
		novaCelula.innerHTML = "Todos os campos estao ok";			
		return true;
	}
	
}

//---------------------------------------------------------------------------------------
// Funcao fotos_validaFormFoto(): Verifica se os campos não estão vazios e se o campo de
// data possui uma formatacao correta. Verifica também se o arquivo a ser enviado e do 
// formato compativel. Caso tudo esteja ok, retorna true. Caso contrario, preenche a tabela ]
// de erros encontrados e retorna false.
//---------------------------------------------------------------------------------------
function fotos_validaFormFoto(){
	
	var tabelaErros = document.getElementById("tabelaErros");
	// Limpa a tabela de erros
	var numErros = tabelaErros.rows.length;
	if(numErros > 0){
		for(var i=0; i<numErros; i++){
			tabelaErros.deleteRow(0);	
		}
	}
	
	// Verifica o campo de descricao
	var descricao = document.getElementById("descricao");
	if(descricao.value.length == 0){
		var novaLinha = tabelaErros.insertRow(0);					
		var novaCelula = novaLinha.insertCell(0);
		novaCelula.innerHTML = ">> O campo \"descricao\" não pode ser vazio.";
	}
	
	// Verifica o campo da data. Deve conter o formato (DD/MM/AAAA)
	var data = document.getElementById("data_foto");
	if(data.value.length == 0){
		var novaLinha = tabelaErros.insertRow(0);					
		var novaCelula = novaLinha.insertCell(0);
		novaCelula.innerHTML = ">> O campo \"data\" não pode ser vazio.";
	}else{
		if((data.value.charAt(2) != "/") || (data.value.charAt(5) != "/")){
		var novaLinha = tabelaErros.insertRow(0);					
		var novaCelula = novaLinha.insertCell(0);
		novaCelula.innerHTML = ">> O campo \"data\" deve estar no formato DD/MM/AAAA.";	
		}else{
			// Verifica se o dia nao ultrapassa 31
			var dia = data.value.substring(0,2);
			if(dia>31 || dia<0){
				var novaLinha = tabelaErros.insertRow(0);					
				var novaCelula = novaLinha.insertCell(0);
				novaCelula.innerHTML = ">> O campo \"data\" possui um dia inválido.";	
			}
			// Verifica se o mes nao ultrapassa 12
			var mes = data.value.substring(3,5);			
			if(mes>12 || mes<0){
				var novaLinha = tabelaErros.insertRow(0);					
				var novaCelula = novaLinha.insertCell(0);
				novaCelula.innerHTML = ">> O campo \"data\" possui um mês inválido.";	
			}
			// Verifica se o ano e o atual
			var ano = data.value.substring(6,10);
			var dataAtual = new Date();
			anoAtual = dataAtual.getFullYear(); 
			if(ano != anoAtual){
				var novaLinha = tabelaErros.insertRow(0);					
				var novaCelula = novaLinha.insertCell(0);
				novaCelula.innerHTML = ">> O campo \"data\" possui um ano inválido.";	
			}			
		}
	}
	
	// Verifica o campo do arquivo
	var foto = document.getElementById("foto");
	if(foto.value.length == 0){
		var novaLinha = tabelaErros.insertRow(0);					
		var novaCelula = novaLinha.insertCell(0);
		novaCelula.innerHTML = ">> O campo \"foto\" não pode ser vazio.";
	}else{	
		var extensao = foto.value.substring(foto.value.length-3,foto.value.length);
		if((extensao != "gif") && (extensao != "jpg") && (extensao != "jpeg") && (extensao != "png")){
			var novaLinha = tabelaErros.insertRow(0);					
			var novaCelula = novaLinha.insertCell(0);
			novaCelula.innerHTML = ">> O arquivo não é um arquivo de imagem válido. Os tipos suportados são: gif, jpeg, jpg, png.";		
		}
	}
	
	// Se nao houver nenhum erro retorna true
	if(tabelaErros.rows.length > 0) {
		var novaLinha = tabelaErros.insertRow(0);					
		var novaCelula = novaLinha.insertCell(0);
		novaCelula.innerHTML = "Erros encontrados:";		
		return false;
	}else{
		var novaLinha = tabelaErros.insertRow(0);					
		var novaCelula = novaLinha.insertCell(0);
		novaCelula.innerHTML = "Todos os campos estao ok";			
		return true;
	}
	
}